import os
class DataSave:
    # 指定保存的文件路径
    def __init__(self, path):
        self.path = path

    def save(self, data):
        # 判断文件路径是否存在。若不存在，则抛出错误
        if not os.path.exists(self.path):
            raise FileExistsError("文件路径不存在")
        # 将数据写入文件中，已追加形式写入文件
        with open(self.path, 'a') as fp:
            print("开始写入数据")
            # 加上\n换行写入数据
            fp.write(str(data) + '\n')
        fp.close()

if __name__ == '__main__':
    test_data = 'this is a test, \n save it'
    save_path = 'C:/Users/lenovo/Desktop/file.txt'
    ds = DataSave(save_path)
    ds.save(test_data)

"""
代码分析：
1、为了能够在任意位置保存数据，在初始化时，我们需要先指定一个文件路径，在保存数据的时候，
先判断文件路径是否存在，如果不存在，就抛出异常
2、打开文件，指定打开模式为"a"，即，以追加模式打开文件，可以不断地进行数据写入，
因为我们是每抓取一篇文章数据立即写入文件，如果以w模式打开，则会覆盖前一次保存的数据。
注意写入的数据要转换成str类型。
3、最后做了一下测试，每一个类都写一个测试，这是一个好习惯。

"""
